namespace Game.Framework
{
    public struct EventInitializationOperationSucceed : IEvent
    {
        
    }

    public struct EventInitializationOperationFailed : IEvent
    {
        public string Error;
        public EventInitializationOperationFailed(string error)
        {
            Error = error;
        }
    }

    public struct EventUpdatePackageVersionSucceed : IEvent
    {
        
    }

    public struct EventUpdatePackageVersionFailed : IEvent
    {
        public string Error;
        public EventUpdatePackageVersionFailed(string error)
        {
            Error = error;
        }
    }
    
    public struct EventUpdatePackageManifestSucceed : IEvent
    {
        
    }

    public struct EventUpdatePackageManifestFailed : IEvent
    {
        public string Error;
        public EventUpdatePackageManifestFailed(string error)
        {
            Error = error;
        }
    }
    
    public struct EventNoAssetNeedDownLoad : IEvent
    {
        
    }
    
    public struct EventAssetDownError : IEvent
    {
        public string Error;
        public string FileName;
        public EventAssetDownError(string fileName,string error)
        {
            Error = error;
            FileName = fileName;
        }
    }
    
    public struct EventAssetDownDone : IEvent
    {
        public bool IsSucceed;
        public EventAssetDownDone(bool isSucceed)
        {
            IsSucceed = isSucceed;
        }
    }
    
    public struct EventAssetDownloadProgress : IEvent
    {
        public int TotalDownloadCount;
        public int CurrentDownloadCount;
        public long TotalDownloadBytes;
        public long CurrentDownloadBytes;

        public EventAssetDownloadProgress(int totalDownloadCount,int currentDownloadCount,long totalDownloadBytes,long currentDownloadBytes)
        {
            TotalDownloadCount = totalDownloadCount;
            CurrentDownloadCount = currentDownloadCount;
            TotalDownloadBytes = totalDownloadBytes;
            CurrentDownloadBytes = currentDownloadBytes;
        }
    }
}